package com.arsn.myf.system.service.impl;

import com.arsn.myf.common.util.StringUtils;
import org.springframework.stereotype.Service;
import com.arsn.myf.system.mapper.RegionMapper;
import com.arsn.myf.system.entity.Region;
import com.arsn.myf.system.vo.RegionVO;
import com.arsn.myf.system.service.RegionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * 行政区划 业务层处理
 * 
 * @author zhongrj
 * @date 2022-12-12 21:41:22
 */
@Service
public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService {

    /**
     * 自定义查询行政区划分页数据
     *
     * @param page
     * @param region
     * @return
     */
    @Override
    public IPage<RegionVO> selectPageRegionList(Page<RegionVO> page, RegionVO region) {
        return page.setRecords(baseMapper.selectPageRegionList(page, region));
    }

    /**
     * 懒加载区域列表
     * @param region 区域参数实体
     * @return
     */
    @Override
    public List<RegionVO> getRegionLazyList(RegionVO region) {
        //判断查询参数
        if (StringUtils.isBlank(region.getName()) && StringUtils.isBlank(region.getParentCode())) {
            region.setParentCode("0");
        }
        return baseMapper.getDeptLazyList(region);
    }

    /**
     * 自定义查询详细信息
     * @param region
     * @return
     */
    @Override
    public RegionVO getRegionDetail(Region region) {
        return baseMapper.getRegionDetail(region);
    }
}
